Skip to content

Conversation

@cmd-ob
Copy link
Contributor

@cmd-ob cmd-ob commented Oct 28, 2025

Description

Refactored the AI E2E tags selector.

Key Changes

Architecture:

  • Split monolithic file into organized modules: tools/, prompts/, analysis/, utils/, config/
  • Created selector.ts as main orchestrator
  • Added comprehensive TypeScript types

Tag Configuration:

  • Centralized all tag definitions in e2e/tags.js via aiE2EConfig array
  • Single source of truth for tag names and descriptions
  • Eliminated duplicate definitions across files

Documentation:

  • Added README.md with architecture overview
  • Included examples for extending functionality

Files Changed

  • e2e/scripts/ai-e2e-tags-selector.ts - Reduced to entry point
  • e2e/scripts/ai-e2e-tags-selector/ - 22 new modular files
  • e2e/tags.js - Added aiE2EConfig export

Changelog

CHANGELOG entry:

Related issues

Fixes:

Manual testing steps

Feature: my feature name

  Scenario: user [verb for user action]
    Given [describe expected initial app state]

    When user [verb for user action]
    Then [describe expected outcome]

Screenshots/Recordings

Before

After

Pre-merge author checklist

Pre-merge reviewer checklist

  • I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed).
  • I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.

Note

Replaces the old AI E2E analysis action with a new Smart E2E Selection workflow and refactors the AI E2E tag selector into a modular architecture with centralized tag config and PR commenting.

  • CI/CD:
    • Add composite action \.github/actions/smart-e2e-selection to run AI analysis, respect skip-smart-e2e-selection, and post a PR comment.
    • Update \.github/workflows/ci.yml to use smart-e2e-selection (outputs e2e_test_tags) and enable PR commenting; remove usage of the old action.
    • Add script \.github/scripts/e2e-smart-selection.mjs to execute analysis, emit outputs, and generate a PR comment body.
    • Remove deprecated action and script: \.github/actions/ai-e2e-analysis and \.github/scripts/ai-e2e-analysis.mjs.
  • E2E AI Selector:
    • Replace monolithic e2e/scripts/ai-e2e-tags-selector.ts with a modular package (analysis/, tools/, prompts/, utils/, config/, types/) and a thin entry point.
    • Add system/agent prompt builders, tool registry/executor, decision parsing, file categorization, git utilities, and output formatting.
  • Tags Configuration:
    • Centralize smoke tags via aiE2EConfig in e2e/tags.js and export for selector prompts.
  • Docs/Guidelines:
    • Add e2e/scripts/ai-e2e-tags-selector/README.md (architecture/usage).
    • Update labeling guidelines with skip-smart-e2e-selection and skip-e2e-quality-gate.

Written by Cursor Bugbot for commit e1b7d2d. This will update automatically on new commits. Configure here.

@github-actions
Copy link
Contributor

CLA Signature Action: All authors have signed the CLA. You may need to manually re-run the blocking PR check if it doesn't pass in a few minutes.

cursor[bot]

This comment was marked as outdated.

@cmd-ob cmd-ob requested a review from a team as a code owner October 28, 2025 17:51
@cmd-ob cmd-ob changed the title Ai analysis refactor test: AI analysis refactor Oct 28, 2025
cursor[bot]

This comment was marked as outdated.

@cmd-ob cmd-ob removed the request for review from a team October 29, 2025 09:44
@jvbriones jvbriones added the no-changelog no-changelog Indicates no external facing user changes, therefore no changelog documentation needed label Nov 3, 2025
cursor[bot]

This comment was marked as outdated.

@jvbriones jvbriones requested review from a team as code owners November 3, 2025 14:11
cmd-ob and others added 5 commits November 3, 2025 15:24
- Removed backward compatibility wrapper comments and unnecessary exports in ai-e2e-tags-selector.ts.
- Updated README.md to reflect the modular architecture and removed redundant sections.
- Simplified decision-parser.ts by removing filtering of valid tags and directly using selected_tags from the response.
- Cleaned up file-categorizer.ts by removing unused imports.
- Streamlined patterns.config.ts by eliminating checks for specific core files.
- Adjusted system-prompt-builder.ts to use availableTags instead of pipelineTags for consistency.
- Removed pipelineTags from AIE2ETagsSelector class, using availableTags instead for clarity.
- Updated selector.ts to ensure fallback analysis uses availableTags.
- Cleaned up e2e/tags.js by removing unused tags export.
@jvbriones jvbriones removed the request for review from a team November 3, 2025 14:34
cursor[bot]

This comment was marked as outdated.

cursor[bot]

This comment was marked as outdated.

cursor[bot]

This comment was marked as outdated.

cursor[bot]

This comment was marked as outdated.

@MetaMask MetaMask deleted a comment from github-actions bot Nov 4, 2025
@jvbriones jvbriones added the skip-smart-e2e-selection Skip Smart E2E selection, i.e. select all E2E tests to run label Nov 4, 2025
cursor[bot]

This comment was marked as outdated.

cursor[bot]

This comment was marked as outdated.

@MetaMask MetaMask deleted a comment from github-actions bot Nov 4, 2025
@MetaMask MetaMask deleted a comment from github-actions bot Nov 4, 2025
@MetaMask MetaMask deleted a comment from github-actions bot Nov 4, 2025
@github-actions
Copy link
Contributor

github-actions bot commented Nov 4, 2025

🔍 Smart E2E Test Selection

⏭️ Smart E2E selection disabled due to skip-smart-e2e-selection label
All E2E tests will run according to the standard CI/CD pipeline configuration.

View GitHub Actions results

@sonarqubecloud
Copy link

sonarqubecloud bot commented Nov 4, 2025

@jvbriones jvbriones removed the skip-smart-e2e-selection Skip Smart E2E selection, i.e. select all E2E tests to run label Nov 5, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

no-changelog no-changelog Indicates no external facing user changes, therefore no changelog documentation needed size-XL team-qa QA team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants